package pua.uniandes.interfaz;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;

public class DialogoInicializarMision extends JDialog implements ActionListener{

	public final static String ACEPTAR="ACEPTAR";
	public final static String CANCELAR="CANCELAR";
	
	private JLabel lblNombreMision;
	private JTextField txtNombreMision;
	private JLabel lblTiempo;
	private JTextField txtTiempo;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private InterfazCentroMonitoreo interfazP;
    private final JLabel lblNumTramas;
    private final JTextField txtNumTramas;
	
	public DialogoInicializarMision(InterfazCentroMonitoreo interfaz){
		interfazP=interfaz;
		lblNombreMision=new JLabel("Nombre de la misión:");
		lblNombreMision.setHorizontalAlignment(JLabel.CENTER);
		lblTiempo = new JLabel("Duración de vuelo: ");
		lblTiempo.setHorizontalAlignment(JLabel.CENTER);
                lblNumTramas=new JLabel("Número de tramas: ");
		lblNumTramas.setHorizontalAlignment(JLabel.CENTER);

		txtNombreMision=new JTextField();
		txtTiempo=new JTextField();
                txtNumTramas=new JTextField();
		btnAceptar=new JButton("Aceptar");
		btnAceptar.setActionCommand(ACEPTAR);
		btnAceptar.addActionListener(this);
		btnCancelar=new JButton("Cancelar");
		btnCancelar.setActionCommand(CANCELAR);
		btnCancelar.addActionListener(this);
		
		setTitle("Inicializar Misión");
		setSize(250,170);
		setLocationRelativeTo(getRootPane());
		setLayout(new BorderLayout());
		
		JPanel panelMedio=new JPanel();
		panelMedio.setLayout(new GridLayout(3, 2));
		panelMedio.setBorder(new TitledBorder("Porfavor ingrese los siguientes datos:"));
		panelMedio.add(lblNombreMision);
		panelMedio.add(txtNombreMision);
		panelMedio.add(lblTiempo);
		panelMedio.add(txtTiempo);
                panelMedio.add(lblNumTramas);
                panelMedio.add(txtNumTramas);
		
		JPanel panelBajo=new JPanel();
		panelBajo.setLayout(new GridLayout(1,2));
		panelBajo.add(btnAceptar);
		panelBajo.add(btnCancelar);
		
		add(panelMedio, BorderLayout.CENTER);
		add(panelBajo, BorderLayout.SOUTH);
		
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		String comando=e.getActionCommand();
		if(comando.equals(ACEPTAR)){
			if(txtNombreMision.getText().isEmpty()||txtTiempo.getText().isEmpty()||txtNumTramas.getText().isEmpty())
			{
				JOptionPane.showMessageDialog(this, "Porfavor introduzca correctamente los datos");
			}
                            interfazP.iniciarMision(txtNombreMision.getText(), txtTiempo.getText(), txtNumTramas.getText());
//                        JOptionPane.showMessageDialog(this, "Ha iniciado la misión correctamente");
//                        this.dispose();
		}
		else this.dispose();
		
	}
	
	
}
